package com.gzy.cbrsystem.core.interfaces;

import java.util.Collections;
import java.util.List;

import com.gzy.cbrsystem.core.ReasoningResult;
import com.gzy.cbrsystem.core.SortBySim;
import com.gzy.cbrsystem.core.insomnia.InsomniaCaseBase;
import com.gzy.cbrsystem.core.insomnia.InsomniaSimilarity;

public interface CaseBasedReaoner {

	public ReasoningMethod getReasoningMethod();



	public void setReasoningMethod(ReasoningMethod reasoningMethod);



	public void init();

	

	public SimilarityCalculation getSimilarityCalculation();



	public void setSimilarityCalculation(SimilarityCalculation similarityCalculation);



	public InsomniaCaseBase getCaseBase();

	public void setCaseBase(InsomniaCaseBase caseBase);

	public List<ReasoningResult> Query(CaseBasic query);



	public List<ReasoningResult> reason(CaseBasic query, int K);
}
